#pragma once
#ifndef __BLOCKSET__H__
#define __BLOCKSET__H__

#include "Block.h"

namespace ATSudokuEngine
{

class BlockSet
{
public:
	BlockSet() : pCell_(0)
	{
	}

	Bool Value(UInt32 nValue);

	Bool IsValid();

	void UpdateCandidates() const;

	void SetBlocks(const Cell* pCell, const Block& aRowBlock, const Block& aColBlock, const Block& aSquareBlock);
protected:
	const Cell* pCell_;
	Block Blocks_[3];
};

}	// namespace ATSudokuEngine

#endif